Modern mainframe computer systems and also modern workstations and, often, personal computers employ math coprocessors within a central processing unit (CPU) which are especially logically configured to efficiently and somewhat independently perform mathematical computations and hand the result to another part of the central processor or transfer the result to a memory. Other logic manipulation processes ongoing in the CPU are not burdened with this task such that the overall efficiency of the computer system is improved, particularly in performing applications intensive in computations.
Many math coprocessors process operands in increments of a full word, for example, BCD character by BCD character or eight-bit character by eight-bit character. The total result is then "reassembled" in a late stage of the processor. This total result, however, may constitute three components; viz.: the result of actual interest, a higher order overflow portion which may or may not be of interest and a lower order portion which may be subject to truncation. More sophisticated coprocessors track certain characteristics of the actual result including whether truncation has taken place. That is, if truncation has been performed on an actual result, a truncation indicator is set, and this information is supplied to the main processor as a flag which is susceptible to test to determine subsequent action. Typically, if the truncation indicator is set, indicating that a given actual result has been truncated, more processing steps are required than if the result has not been truncated.
There are, however, conditions in which truncation has taken place on a given result, but, for subsequent handling by the CPU, the fact of truncation is irrelevant. For example, the entire unadjusted total result may be all zeros. A more subtle instance is when the actual result field and the truncation field are all zeros, but the overflow field may or may not be all zeros. In both instances, it is desirable to inhibit normal setting of the truncation indicator in order to eliminate later unnecessary special handling of the actual result of a coprocessor operation, and it is to this end that the present invention is directed.